package 传智播客_黑马.java高级.函数式.函数式编程;

public class lambda的延迟执行 {
    /*
    lambda表达式的特点:延迟加载
        使用前提:必须存在函数式接口
     */
    @FunctionalInterface
    interface MessageBuilder{
        public abstract String cat();
    }

    //定义一个显示日志的方法,参数传递日志的等级
    public static void showLog(int level ,MessageBuilder mb){
        if(level == 1){
            System.out.println(mb.cat());
        }
    }

    public static void main(String[] args) {
        String talk1 = "hello";
        String talk2 = "里好啊";
        String talk3 = "HELLO";

        //调用方法
        showLog(1,()->{
            //返回一个拼接好的字符串
            return talk1+talk2+talk3;
        });
    }
}
